﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using SRD.Model.SRD.BO;
using SRD.Model.SRD.DTO;
using SRD.Classes;
using System.Data;

namespace SRD.View.Views
{
    public partial class listEmpresa : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                CarregarGridEmpresa();
                if (Session["mensagem"] != null)
                {
                    MessageBox.Show(Session["mensagem"].ToString(), MessageBox.MessageType.Success);
                    Session["mensagem"] = null;
                }
            }
        }

        public void CarregarGridEmpresa()
        {
            Usuario usuario = (Usuario)Session["usuario"];
            EmpresaBO projeto = new EmpresaBO();
            GridEmpresa.DataSource = projeto.findAll();
            GridEmpresa.DataBind();
        }

        public void CarregarGridEmpresa(IQueryable projetos)
        {
            GridEmpresa.DataSource = projetos;
            GridEmpresa.DataBind();
        }

        protected void PesquisaEmpresas(object sender, ImageClickEventArgs e)
        {
            Usuario usuario = (Usuario)Session["usuario"];
            EmpresaBO empresa = new EmpresaBO();
            String nomeEmpresa = txtPesquisa.Text;
            IQueryable dtsEmpresa = empresa.findByName(nomeEmpresa);
            if (dtsEmpresa != null)
            {
                CarregarGridEmpresa(dtsEmpresa);
            }
            else
            {
                MessageBox.Show("Não foi encontrado nenhum registro com essa informação!", MessageBox.MessageType.Success);
            }
            txtPesquisa.Text = "";
        }

        protected void BtVoltar_Click(object sender, ImageClickEventArgs e)
        {
            Response.Redirect("Default.aspx");
        }

        protected void BtNovo_Click(object sender, ImageClickEventArgs e)
        {
            Response.Redirect("editEmpresa.aspx");
        }

        protected void GridEmpresa_PageIndexChanging(object sender, GridViewPageEventArgs e)
        {
            GridEmpresa.PageIndex = e.NewPageIndex;
            CarregarGridEmpresa();
        }

        protected void GridEmpresa_RowDeleting(object sender, GridViewDeleteEventArgs e)
        {
            EMPRESA objEmpresa = new EMPRESA();
            EmpresaBO empresa = new EmpresaBO();
            String resposta;

            objEmpresa.EMPRESA_ID = Convert.ToInt32(GridEmpresa.DataKeys[e.RowIndex].Value);

            resposta = empresa.delete(objEmpresa);

            CarregarGridEmpresa();

            MessageBox.Show(resposta, MessageBox.MessageType.Success);
        }
    }
}